namespace SimpleWebServices.Web.Mvc
{
    using System.Collections.Generic;
    using System.Web.Mvc;
    using SimpleWebServices;
    using Xunit;

    public sealed class StatelessTempDataProviderFacts
    {
        [Fact]
        public void typedef()
        {
            Assert.True(new ObjectExpectations<StatelessTempDataProvider>()
                .DerivesFrom<object>()
                .IsConcreteClass()
                .IsSealed()
                .HasDefaultConstructor()
                .Implements<ITempDataProvider>()
                .Result);
        }

        [Fact]
        public void ctor()
        {
            Assert.NotNull(new StatelessTempDataProvider());
        }

        [Fact]
        public void LoadTempData_ControllerContext()
        {
            Assert.NotNull(new StatelessTempDataProvider().LoadTempData(new ControllerContext()));
        }

        [Fact]
        public void SaveTempData_ControllerContext_IDictionary()
        {
            new StatelessTempDataProvider().SaveTempData(new ControllerContext(), new Dictionary<string, object>());
        }
    }
}